import type { BaseResponse } from './baseResponse';

// 认证申请请求数据模型
export interface AuthenticationRequest {
  id?: number;
  userId?: number; // 申请人id
  name?: string; // 申请人名称
  idCard?: string; // 身份证号
  searchValue?: string; // 搜索值
  status?: number; // 申请状态
  statusList?: number[]; // 申请状态列表（多选）
  beginTime?: string; // 开始时间（YYYY-MM-DD HH:mm:ss格式）
  endTime?: string; // 结束时间（YYYY-MM-DD HH:mm:ss格式）
  checkOpinion?: string; // 审核意见
  pageNum?: number; // 当前页码
  pageSize?: number; // 每页条数
}

// 认证申请响应数据模型
export interface AuthenticationResponse {
  id: number; // 认证申请ID
  userId: number; // 申请人id
  name: string; // 申请人名称
  avatar: string; // 头像
  gender: string; // 性别
  birthday: string; // 生日
  age: number; // 年龄
  idCard: string; // 身份证号
  idCardFront: string; // 身份证正面图片
  idCardBack: string; // 身份证背面图片
  certificatePhotos: string[]; // 证书图片地址
  specialty: string; // 擅长的病症描述
  checkOpinion: string; // 审核意见
  status: number; // 认证申请状态
  checkUser: string; // 审核人
  checkTime: string; // 审核时间
  createTime: string; // 创建时间
  updateTime: string; // 更新时间
}

// 认证申请列表数据结构
export interface AuthenticationList {
  total: number; // 总数
  records: AuthenticationResponse[]; // 认证申请数组
}

// 繁育统计数据模型
export interface BreedingStats {
  totalApplications: number; // 总申请数
  toBeCheckedApplications: number; // 待审核申请数
  passApplications: number; // 通过申请数
  rejectedApplications: number; // 拒绝申请数
  supplementApplications: number; // 补充申请数
  passRate: number; // 通过率
  rejectRate: number; // 拒绝率
  newAddApplications: number; // 新增申请数
}

// 用通用响应体类型包裹
export type AuthenticationListResult = BaseResponse<{ data: AuthenticationList }>;

export type AuthenticationDetailResult = BaseResponse<{ data: AuthenticationResponse }>;

export type BreedingStatsResult = BaseResponse<{ data: BreedingStats }>;
